package me.mingshan.algorithm.interview;

/**
 * 矩形交集
 *
 * @author hanjuntao
 * @date 2025/6/30 0030
 */
public class XiangJiaoJuXing2 {

    public static void main(String[] args) {
        System.out.println(getIntersection(new int[]{1, 1, 3, 3},
                new int[]{2, 2, 4, 4}));
    }

    /**
     * 矩形交集
     * <p>
     * 先找交集的左下方坐标，再找交集的右上方坐标
     *
     *
     * 左上角x
     * 左上角y
     * 矩形宽
     * 矩形高
     *
     * @param a
     * @param b
     * @return
     */
    private static int getIntersection(int[] a, int[] b) {
        // 前面的x 最小  - 后面的x 最大
        int width = Math.min(a[2] + a[0], b[2] + b[0]) - Math.max(a[0], b[0]);
        // 前面的y 最小  - 后面的y 最大
        int height = Math.min(a[1], b[1]) - Math.max(a[1]-a[3], b[1]-b[3]);

        if (width > 0 && height > 0) {
            return width * height;
        }

        return 0;
    }
}
